草庐IT

Ruby HTTP 获取参数

全部标签

ruby - 为命令行(桌面)应用程序获取 Facebook 身份验证 token

我在一家推广手语的慈善机构工作,他们想每天在他们的FB页面上发布一段视频。有大量(并且还在不断增加)的视频,因此他们希望以编程方式安排上传。我真的不介意我最终用什么编程语言来做这件事,但我已经尝试了以下并没有走得太远:Perl使用WWW::Facebook::API(旧的RESTAPI)my$res=$client->video->upload(title=>$name,description=>$description,data=>scalar(read_file("videos/split/$name.mp4")));身份验证正常,这会正确地将facebook.video.uplo

ruby-on-rails - 如何部署我的应用程序可以访问但其他人无法获取的 'private' gem?

我有几个应用程序,我想共享一些通用代码。我想gem代码并以这种方式在应用程序之间共享/版本化它,尽管我不想将它发布到公共(public)gem服务器。有哪些选项? 最佳答案 这看起来很有希望:https://github.com/cwninja/geminabox/虽然我自己没有用过,所以我不能保证。但是,我最近在官方Rubygems问答网站上看到的一个帖子中推荐了它,其中提到内置的ruby​​gems托管不是推荐的解决方案,而Geminabox是一个不错的选择。请注意,它不具有任何身份验证或安全性(显然,通过模糊处理除外),因此根

ruby - 如何获取 BasicObject 实例的类?

我有一个脚本,该脚本使用不带参数的ObjectSpace#each_object进行迭代。然后它打印每个类存在多少个实例。我意识到有些类重新定义了#class实例方法,所以我不得不寻找另一种方法来获取实际的类;假设它存储在变量"klass"中,并且klass===object为真。在Ruby1.8中我可以这样做,假设Object没有被monkeypatched:Object.instance_method(:class).bind(object).call这适用于ActiveSupport::Duration实例:#Ruby1.8#(triestotrickus)20.seconds.

ruby - 如何制作可选的强参数键但过滤嵌套参数?

我的Controller里有这个:params.require(:item).permit!让我们假设这个rspec规范,它按预期工作:put:update,id:@item.id,item:{name:"newname"}但是,以下原因会导致ActionController::ParameterMissing:put:update,id:@item.id,item:nil它与我用于其他操作的Controller宏有关,我无法通过它控制发送的参数(宏检查用户凭据,所以我真的不关心实际测试#update操作,而我只是为它测试before_filters)。所以我的问题是:如何使param

ruby - 从 irb 获取所有局部变量或可用方法?

当我进入irb并输入一个不存在的命令时,我收到一条错误消息"undefinedlocalvariableormethod'my_method'formain:Object(NameError)"有没有办法只获取可用的局部变量或方法的列表?这对于探索ruby​​非常有用。 最佳答案 在内核、对象和模块中寻找方法:例如local_variables,instance_methods,instance_variables.还有其他很棒的方法。inspect是另一个。 关于ruby-从irb获取

ruby-on-rails - Rails 3 - 在更新之前使用参数检查对象是否有效

我有一个新手问题。我如何在更新模型对象之前使用新参数检查模型对象是否有效?我想改变它:defupdate@obj=SomeModel.find(params[:id])if@obj.update_attributes(params[:obj])#Thathavebeenupdatedelse#Ups,errors!endend类似的东西:defupdate@obj=SomeModel.find(params[:id])if@obj.valid_with_new_params(params[:obj])@obj.update_attributes(params[:obj])else#Up

ruby - 如何使用 Dir.glob 获取仅包含文件的列表?

如何返回指定目录中只有文件而不是目录的列表?我有my_list=Dir.glob(script_path.join("*"))这将返回目录中的所有内容,包括子目录。我进行了搜索,但未能找到答案。 最佳答案 除了Mark的回答之外,Dir.entries还会返回目录。如果您只需要文件,则可以使用file?测试每个条目以查看它是文件还是目录。Dir.entries('/home/theiv').select{|f|File.file?(f)}将/home/theiv替换为您要在其中查找文件的任何目录。另外,看看File.它提供了一堆测试

ruby - 如何获取 Sinatra 应用程序中的所有 URL 参数

使用以下Sinatra应用get'/app'docontent_type:json{"params"=>params}.to_jsonend调用:/app?param1=one¶m2=two¶m2=alt给出以下结果:{"params":{"param1":"one","param2":"alt"}}Params只有两个键,param1和param2。我知道Sinatra将参数设置为散列,但它并不代表所有的URL请求。在Sinatra中有没有办法获取请求中发送的所有URL参数的列表? 最佳答案 机架中的任何请求get

Ruby lambda 参数

此代码按预期工作(什么都不做,甚至不产生警告/错误):l=lambda{|i|}l.call(1)此代码产生警告(警告:block参数的多个值(0表示1)):l=lambda{|i|}l.call此代码因错误而失败(ArgumentError:参数数量错误(0代表2)):l=lambda{|i,y|}l.call我认为lambda需要传递所有参数。从第二个例子中我发现它不是。为什么仅给出一个参数时它可以工作,而使用多个参数时却按预期工作(失败并出现错误)?PS:ruby​​1.8.6(2008-08-11patchlevel287)[universal-darwin9.0]更新:我已经

ruby - 裸星号作为方法定义中的参数 : def f(*)

我知道这是什么意思:deff(*args)...end但这意味着什么,为什么要使用它?它也可以与命名参数一起出现吗?deff(*)...end 最佳答案 deff(*)与deff(*args)具有相同的效果,只是它没有命名globbed参数数组。如果您希望函数接受任意数量的参数但实际上不需要在函数内引用它们,则可以使用它——例如,如果您重写一个方法但调用super而没有传递一个显式参数列表,这会导致将原始参数传递给super。您也可以编写deff(a,b,*)。 关于ruby-裸星号作为